package com.example.quiz;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

import com.example.quiz.controler.Jogo;

public class Jogar extends Activity implements RadioGroup.OnCheckedChangeListener, View.OnClickListener{

	private Jogo jogo;
	private ImageView iv;
	private RadioGroup rg;
	private TextView tvP;
	private TextView tvD;
	private RadioButton rb;
	private Button btnProximo, btnVoltar;
	private int contIdradioButton = 0;
	private int cont = 0;	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.jogar);
		
		iv = (ImageView) findViewById(R.id.ivJogar);
		rg = (RadioGroup) findViewById(R.id.rgAlternativas);
		tvP = (TextView) findViewById(R.id.tvPergunta);
		tvD = (TextView) findViewById(R.id.tvDesempenho);	
		rg.setOnCheckedChangeListener(this);
		
		jogo = new Jogo();
		
		
		
		
		btnProximo = (Button) findViewById(R.id.btnProximoQuiz);
		btnProximo.setEnabled(false);
		btnProximo.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {				
					if(jogo.getKitQuiz().hasNext()){
													
							proximoQuiz();
						}					
					btnProximo.setEnabled(false);
			}
		});
		
		
		btnVoltar = (Button) findViewById(R.id.btnVoltarJogar);
		btnVoltar.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {
				
					startActivity(new Intent(Jogar.this, MenuPrincipal.class));
				
			}
		});
		proximoQuiz();
//		jogo.inicializar();
	}
	private void proximoQuiz(){
		if(jogo.getKitQuiz().hasNext()){			
			jogo.getKitQuiz().nextQuiz();
			rg.removeAllViews();
			rg = (RadioGroup) findViewById(R.id.rgAlternativas);
			iv.setImageBitmap(jogo.getKitQuiz().photo());
			tvP.setText(jogo.getKitQuiz().pergunta());					
			for (String alt : jogo.getKitQuiz().alternativas()) {
				contIdradioButton++;
				rb = new RadioButton(this);
				rb.setId(contIdradioButton);
				rb.setText(alt);
				rb.setChecked(false);
				rg.addView(rb);
			}				
		}
		
//		Log.i(QuizOpenHelper.LOGTAG,"nao foi");
	}
	
	@Override
	public void onClick(View v) {
		
	}
	@Override
	public void onCheckedChanged(RadioGroup group, int checkedId) {
//		Log.i(QuizOpenHelper.LOGTAG,"Selecionou");
		
		cont++;
		
		int id = rg.getCheckedRadioButtonId();
		View radioButton = rg.findViewById(id);
		int radioId = rg.indexOfChild(radioButton);
		RadioButton btn = (RadioButton) rg.getChildAt(radioId);
		btn.setTextColor(Color.GREEN);
		
		
		for (int i = 0; i < rg.getChildCount(); i++) {
			if(rg.getChildAt(i).getId() != id){
				rg.getChildAt(i).setEnabled(false);
			}
		}
		
		String valor = btn.getText().toString();
		jogo.getKitQuiz().setAlternativaEscolhida(valor);
		
		String resposta = jogo.getKitQuiz().getResposta();// aqui**********
		
		for (int i = 0; i < rg.getChildCount(); i++) {
			RadioButton r = (RadioButton) rg.getChildAt(i);
			if(resposta.trim().equalsIgnoreCase(r.getText().toString().trim())){
				r.setTextColor(Color.GREEN);
				r.setText(r.getText().toString()+" - Resposta correta");	
				if(r.isChecked()){
									
				}			
			}else{
				if(r.isChecked()){
					r.setTextColor(Color.RED);
					r.setText(r.getText().toString()+" - Resposta errada");
				}
			}
			
		}
		if(jogo.getKitQuiz().hasNext()){
			tvD.setText(jogo.getKitQuiz().getAcertos()+ " acertos em  "+cont+" rodadas.");	
		}else{
			tvD.setText(jogo.getKitQuiz().getAcertos()+ " acertos em  "+cont+" rodadas.\nTotalizando "+jogo.getKitQuiz().getPontos()+" pontos.");
		}
		
		if(jogo.getKitQuiz().hasNext()){
			btnProximo.setEnabled(true);
		}
		
		
	}
	
}
